iT邦幫忙

0

day28 Port Scanning 基礎知識

  • 分享至 

  • xImage
  •  

1.為什麼要掃描 Port?
每個 Port 就像是電腦「門口」
不同服務會聽在不同 Port,例如:
80 → HTTP (網站)
443 → HTTPS (加密網站)
22 → SSH (遠端登入)
3306 → MySQL
如果 Port 是 OPEN,代表這個服務正在跑,可能可以連線或被利用。
如果 Port 是 CLOSED,代表這個服務沒有開。

  1. 常見的掃描方式
    全連線掃描 (Full connect) → 就像我們現在寫的,用 Socket.connect() 嘗試連線。
    半開掃描 (SYN Scan) → Nmap 常用,效率高,但需要底層 TCP 控制,Java 預設做不到。
    UDP 掃描 → 掃描 UDP port,比較難準確,因為 UDP 沒有像 TCP 那樣明確回應。

3.掃描的限制
掃描太快 → 會被防火牆或 IDS (入侵偵測系統) 偵測到。
某些 Port 可能「過濾」(Filtered),不是單純的 OPEN/CLOSED。
不同作業系統回應行為不同 → 掃描結果可能有差異。

  1. Nmap vs 我們的程式
    Nmap 很強,支援:
    Port 掃描 (快速、隱匿)
    服務辨識 (例如判斷是 Apache、nginx、OpenSSH 幾版)
    OS Fingerprinting (猜測作業系統)
    我們的程式 → 算是「基礎版的全連線掃描器」,適合學習執行緒 + Socket。

Port scanner(埠掃描器)不是單一技巧,而是一組網路偵測與封包處理的技術集合,目標是找出目標主機哪些連接埠(port)有服務、服務類型、版本,並推測作業系統或防火牆行為。

接下來介紹滲透測試:
滲透測試的主要階段(一般流程)
1.範圍與規則(Scope & Rules of Engagement)
明確哪些資產可以測、哪些不能碰。簽「授權文件」很重要。
2.資訊蒐集(Reconnaissance)
被動(公開資訊、網站、DNS、WHOIS)與主動(掃描 IP、port 列表)。
3.掃描與枚舉(Scanning & Enumeration)
找出活躍主機、開放 port、服務版本、公開目錄、身份驗證端點等。
4.弱點分析(Vulnerability Analysis)
將掃描結果對照已知漏洞資料庫(CVE、exploit-db),判斷可利用性與影響。
5.利用嘗試(Exploitation) — 嚴格受限
在授權與測試範圍內嘗試證明漏洞存在(注意:這一步有高風險,必須受控)。
6.後滲透(Post-exploitation)
取得系統控制後評估能做什麼(權限提升、橫向移動、資料外洩風險)。
7.清理(Cleanup)
移除測試痕跡,回復系統原狀,避免影響正式運作。
8.報告(Reporting)
撰寫發現、重現步驟(在允許範圍)、風險評估與修補建議。給技術團隊與管理層不同層次的報告版本。

常見工具:
偵查與掃描:nmap(host/port 探測)、masscan(超大規模掃描)
服務與弱點檢測:nikto(Web 伺服器掃描)、openvas / nessus(vuln scanner)
Web 應用分析:Burp Suite(代理、攔截、掃描、手動測試)
封包分析:Wireshark(抓封包、分析協定)
認證/暴力測試:Hydra / Medusa(密碼猜測)
SQLi / XSS 帶路:sqlmap(自動化 SQL 注入檢測)
滲透框架:Metasploit(整合漏洞利用模組、exploitation 的學習工具)
靶機練習平台:OWASP Juice Shop、DVWA、Hack The Box、VulnHub(安全練習環境)

法律、倫理與實務注意事項(極重要):
絕對不要對未授權目標進行測試。未經授權的測試可能違法。
簽署書面授權(Rules of Engagement):明確範圍、測試時間、聯絡人、可接受的測試強度、風險與補救方式。
風險管理:盡量在測試環境或在非營運時間執行破壞性測試。
紀錄與回報:所有活動要有紀錄(時間、工具、參數、發現)以便回溯和回報。

滲透測試報告該包含什麼(實務):
1 摘要(Executive summary):給管理層看的關鍵風險與優先處置建議(非技術細節)。
2 技術摘要(Technical findings):每個發現包含:漏洞描述、位置、風險等級(High/Medium/Low)、再現步驟或證明(在授權範圍內)、建議修補措施。
3 影響評估:若被利用,可能造成的影響(資料外洩、系統癱瘓、權限提升)。
4 修補優先次序:哪些要立刻修、哪些可以稍後。
5 附件:掃描結果、截圖、pcap(若允許共享)等。

滲透測試可以做什麼?
找出網路或系統漏洞
例:開放了不必要的端口、使用弱密碼、軟體未更新。
測試應用程式安全
例:網站有 SQL 注入、XSS、文件上傳漏洞。
評估防禦能力
例:檢查防火牆規則、入侵檢測系統(IDS)是否有效。
訓練員工安全意識
例:測試釣魚郵件、社交工程漏洞。
符合安全規範或法規
例:PCI-DSS、ISO 27001 都要求定期滲透測試。
滲透測試就是合法的「模擬駭客攻擊」。
它的邏輯就是先情報收集 → 掃描 → 找漏洞 → 利用漏洞 → 報告改善。
目的不是破壞,而是 找出弱點、加強防護。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言